#ifndef CDEVICEFACTORY_H_
#define CDEVICEFACTORY_H_

#include "IDoorControlBoard.h"
#include "IMonitorControlBoard.h"

namespace zl
{
namespace zlbase
{

/// \brief 设备工厂类
///
/// 提供多个工厂函数用于创建不通类别的设备实例
class CDeviceFactory
{
public:
    CDeviceFactory() = default;
    ~CDeviceFactory() = default;

    std::shared_ptr<IDoorControlBoard> ConcreateDCB(int32_t type);
    std::shared_ptr<IMonitorControlBoard> ConcreateMCB(int32_t type);
};

} // namespace zlbase
} // namespace zl

#endif // CDEVICEFACTORY_H_